import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 设置随机数种子，这里可以使用任意整数
np.random.seed(0)

# 生成X和Y的值
x = np.linspace(0, 10, 10)
y = np.linspace(0, 10, 10)
X, Y = np.meshgrid(x, y)

# 生成Z轴的随机数
Z = np.random.rand(10, 10)

# 创建一个包含两个子图的图形
fig = plt.figure(figsize=(16, 6))

# 绘制第一个子图（正常视角的三维曲面图）
ax3d = fig.add_subplot(1, 2, 1, projection='3d')
surf = ax3d.plot_surface(X, Y, Z, cmap='viridis')
ax3d.set_xlabel('X')
ax3d.set_ylabel('Y')
ax3d.set_zlabel('Z')
ax3d.set_title('3D View')

# 绘制第二个子图（俯视图的二维热图）
ax2 = fig.add_subplot(1, 2, 2)
im = ax2.imshow(Z, cmap='viridis', origin='lower',
                extent=[x.min(), x.max(), y.min(), y.max()])
ax2.set_xlabel('X')
ax2.set_ylabel('Y')
ax2.set_title('Top Down 2D View')

# 添加共享颜色条
fig.colorbar(im, ax=[ax3d, ax2], shrink=0.5, aspect=5)

# 保存图形
plt.savefig('./picture/draw1.png')

# 显示图形
plt.show()